package com.hyfrogx.modules.manage.service.task;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyfrogx.common.exception.ServiceException;
import com.hyfrogx.modules.app.form.Task.TaskForm;
import com.hyfrogx.modules.manage.entity.task.TaskEntity;

import java.math.BigDecimal;

/**
 * @author 罗春杰-技术部
 */
public interface TaskService extends IService<TaskEntity> {

    /**
     * 分享课程、快讯、资讯、直播、每日任务、学习课程、观看直播    任务
     */
    void taskShare(TaskForm form) throws Exception;

    /**
     * 评论课程、文章、阅读资讯    任务
     */
    void taskRemark(Long uid,Integer code,Integer sid) throws Exception;

    /**
     * 高阶任务
     * @param uid
     * @param code
     * @param price
     */
    Integer taskSenior(Long uid, Integer price, Integer code) throws Exception;

    /**
     * 会议任务
     * @param uid
     * @param code
     * @param meetingId
     * todo 会议移植后再做
     */
    void taskMeeting(Long uid,Integer code,Integer meetingId) throws Exception;

    /**
     * @param uid
     * 积分系统增加签到积分
     * @param code
     * @param score
     * @throws Exception
     */
    void addSignScore(Long uid, Integer code,Integer score) throws Exception;

    /**
     * 通过任务获取最大奖励积分
     * @param code
     * @return
     */
    Integer selectMaxCoinByCode(Integer code);

    /**
     * (活动充值）任务
     * @param uid
     * @param price
     * @param code
     * @throws Exception
     */
    void recharegTask(Long uid, BigDecimal price, Integer code) throws Exception;

}
